home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 6 / FM Towns Free Software Collection 6.iso / t_os / book / src / debug.c < prev    next >
C/C++ Source or Header  |  1993-07-08  |  3KB  |  112 lines

  1. #include    <stdio.h>
  2. #include    <stdlib.h>
  3. #include    <stdarg.h>
  4. #include    <string.h>
  5. #include    <ctype.h>
  6. #include    <egb.h>
  7. #include    <mos.h>
  8. #include    <fmc.h>
  9. #include    "book.h"
  10. #include    "menu_evt.h"
  11.  
  12.  
  13. extern  int     _mwgetbp(), _mwstack_limit;
  14.  
  15. void    fprt(char *file, char *form, ...)
  16. {
  17. FILE    *fp;
  18. va_list arg;
  19.  
  20.     if ((fp = fopen(file, "a+")) != NULL)
  21.     {
  22.         fseek(fp, 0L, SEEK_END);
  23.         va_start(arg, form);
  24.         vfprintf(fp, form, arg);
  25.         va_end(arg);
  26.         fclose(fp);
  27.     }
  28. }
  29. void    prt(int x,int y, char *form, ...)
  30. {
  31. va_list arg;
  32. char    tmp[256];
  33. int     wpage = writepage;
  34.  
  35.     va_start(arg, form);
  36.     vsprintf(tmp, form, arg);
  37.     writepage = PAGE1;
  38.     wrt(tmp, x,y, 15,1, 16);
  39.     va_end(arg);
  40.     writepage = wpage;
  41. }
  42.  
  43. void    stack_avail(char *msg)
  44. {
  45. int     stack = _mwgetbp() -_mwstack_limit;
  46. const char  *path = "result";
  47.  
  48.     if (msg != NULL)
  49.         fprt((char *)path, msg);
  50.     fprt((char *)path, "stack %d(%08Xh) bytes\n", stack,stack);
  51. }
  52.  
  53. char    *cnv_evt2str(mevt_t evt)
  54. {
  55. static  char    buf[16];
  56.  
  57.     switch (evt)
  58.     {
  59.       case MEv_NULL:    return "MEv_NULL";
  60.  
  61.       case MEv_EXIT:    return "MEv_EXIT";
  62.       case MEv_SELECT:  return "MEv_SELECT";
  63.       case MEv_CANCEL:  return "MEv_CANCEL";
  64.       case MEv_SND:     return "MEv_SND";
  65.       case MEv_FS:      return "MEv_FS";
  66.  
  67.       case MEv_vDOWN:   return "MEv_vDOWN";
  68.       case MEv_vUP:     return "MEv_vUP";
  69.  
  70.       case MEv_GOTO_TOP:return "MEv_GOTO_TOP";
  71.       case MEv_GOTO_BTM:return "MEv_GOTO_BTM";
  72.       case MEv_sDOWN:   return "MEv_sDOWN";
  73.       case MEv_sUP:     return "MEv_sUP";
  74.       case MEv_mDOWN:   return "MEv_mDOWN";
  75.       case MEv_mUP:     return "MEv_mUP";
  76.       case MEv_hDOWN:   return "MEv_hDOWN";
  77.       case MEv_hUP:     return "MEv_hUP";
  78.       case MEv_uDOWN:   return "MEv_uDOWN";
  79.       case MEv_uUP:     return "MEv_uUP";
  80.  
  81.       case MEv_FORM:    return "MEv_FORM";
  82.       case MEv_FULLPATH:return "MEv_FULLPATH";
  83.       case MEv_SEARCH:  return "MEv_SEARCH";
  84.       case MEv_DISPCR:  return "MEv_DISPCR";
  85.       case MEv_DOSCMD:  return "MEv_DOSCMD";
  86.       case MEv_WIDTH:   return "MEv_WIDTH";
  87.  
  88.       case MEv_MOVE:    return "MEv_MOVE";
  89.       case MEv_CURMOVE: return "MEv_CURMOVE";
  90.       case MEv_rSEARCH: return "MEv_rSEARCH";
  91.       case MEv_fSEARCH: return "MEv_fSEARCH";
  92.       case MEv_ErSEARCH:return "MEv_ErSEARCH";
  93.       case MEv_FfSEARCH:return "MEv_FfSEARCH";
  94.       case MEv_sSAME:   return "MEv_sSAME";
  95.       case MEv_sDIFF:   return "MEv_sDIFF";
  96.  
  97.       case MEv_UPPERDIR:return "MEv_UPPERDIR";
  98.       case MEv_ROOTDIR: return "MEv_ROOTDIR";
  99.       case MEv_UPDIR:   return "MEv_UPDIR";
  100.       case MEv_SORTMD:  return "MEv_SORTMD";
  101.       case MEv_DISPMD:  return "MEv_DISPMD";
  102.  
  103.       case MEv_REPEAT:  return "MEv_REPEAT";
  104.       case MEv_DUMMY:   return "MEv_DUMMY";
  105.  
  106.       default:
  107.         sprintf(buf,   "event %2d", evt);
  108.         return buf;
  109.     }
  110. }
  111.  
  112.